package com.css.crm.dao;

import java.util.List;
import com.css.crm.vo.CustomerAttributeVo;

/**
 * Interface for DAO on table VP_CUST_ATTR
 * 
 * @author AIS
 */
public interface CustomerAttributeDao extends BaseDao {

	/**
	 * Get all customer attribute record by customer id
	 * 
	 * @param custId
	 *            Customer id to specific record to be retrieved
	 * @return List of customer attribute record(s)
	 */
	List<CustomerAttributeVo> getCustomerAttributeByCustId(String custId);

	/**
	 * Create customer attribute record
	 * 
	 * @param customerAttribute
	 *            CustomerAttributeVo object
	 * @return Row count affected
	 */
	int insertCustomerAttribute(CustomerAttributeVo customerAttribute);

	/**
	 * Update customer attribute record
	 * 
	 * @param customerAttribute
	 *            Updated CustomerAttributeVo object
	 * @return Row count affected
	 */
	int updateCustomerAttributeByPK(CustomerAttributeVo customerAttribute);

	/**
	 * Delete specific customer attribute record
	 * 
	 * @param customerAttribute
	 *            Specific CustomerAttributeVo to be deleted
	 * @return Row count affected
	 */
	int deleteCustomerAttributeByPK(Long customerAttrId);

	/**
	 * Delete customer attribute record by customer id
	 * 
	 * @param custId
	 *            Customer id to specific record(s) to be deleted
	 * @return Row count affected
	 */
	int deleteCustomerAttributeByCustId(String custId);
}
